Kickback control methods for power tools

ABSTRACT

Kickback control methods for power tools. One power tool includes a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis. The power tool includes an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool. To implement the kickback control, the electronic processor is configured to control the switching network to drive the brushless DC motor, receive measurements of the angular velocity of the housing of the power tool from the movement sensor, determine that a plurality of the measurements of the angular velocity of the housing of the power tool exceed a rotation speed threshold, and control the switching network to cease driving of the brushless DC motor in response to determining that the plurality of the measurements of the angular velocity exceed the rotation speed threshold.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 62/577,594, filed Oct. 26, 2017, and to U.S. Provisional Patent Application No. 62/686,719, filed on Jun. 19, 2018, the entire contents of each are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to preventing and reducing kickback of a power tool and to controlling the power tool.

SUMMARY

One embodiment provides a power tool including a housing having a motor housing portion, a handle portion, and a battery interface. The power tool further includes a brushless direct current (DC) motor within the motor housing portion and having a rotor and a stator. The rotor is configured to rotationally drive a motor shaft about a rotational axis. The power tool further includes a switching network electrically coupled to the brushless DC motor. The power tool further includes a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis. The power tool further includes an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool. To implement the kickback control, the electronic processor is configured to control the switching network to drive the brushless DC motor, and receive measurements of the angular velocity of the housing of the power tool from the movement sensor. To implement the kickback control, the electronic processor is further configured to determine that a plurality of the measurements of the angular velocity of the housing of the power tool exceed a rotation speed threshold. To implement the kickback control, the electronic processor is further configured to control the switching network to cease driving of the brushless DC motor in response to determining that the plurality of the measurements of the angular velocity exceed the rotation speed threshold.

Another embodiment provides a power tool including a housing having a motor housing portion, a handle portion, and a battery interface. The power tool further includes a brushless direct current (DC) motor within the motor housing portion and having a rotor and a stator. The rotor is configured to rotationally drive a motor shaft about a rotational axis. The power tool further includes a switching network electrically coupled to the brushless DC motor. The power tool further includes a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis. The power tool further includes an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool. To implement the kickback control, the electronic processor is configured to control the switching network to drive the brushless DC motor, and receive measurements of the angular velocity of the housing of the power tool from the movement sensor. To implement the kickback control, the electronic processor is further configured to control the switching network to cease driving of the brushless DC motor in response to determining that a measurement of the measurements of the angular velocity exceeds a rotation speed threshold and determining that a power tool characteristic exceeds a kickback threshold.

Another embodiment provides a power tool including a housing having a motor housing portion, a handle portion, and a battery interface. The power tool further includes a brushless direct current (DC) motor within the motor housing portion and having a rotor and a stator. The rotor is configured to rotationally drive a motor shaft about a rotational axis. The power tool further includes a switching network electrically coupled to the brushless DC motor. The power tool further includes a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis. The power tool further includes an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool. To implement the kickback control, the electronic processor is configured to control the switching network to drive the brushless DC motor, and determine a working operating angle range of the power tool. To implement the kickback control, the electronic processor is further configured to receive measurements of the angular velocity of the housing of the power tool from the movement sensor. To implement the kickback control, the electronic processor is further configured to determine that the angular velocity of the housing of the power tool exceeds a working operating angle range adjustment threshold. To implement the kickback control, the electronic processor is further configured to, in response to determining that the angular velocity exceeds the working operating angle range adjustment threshold, adjust the working operating angle range based on the angular velocity. To implement the kickback control, the electronic processor is further configured to determine a roll position of the power tool, and determine that the roll position is not within an adjusted working operating angle range. To implement the kickback control, the electronic processor is further configured to control the switching network to cease driving of the brushless DC motor in response to determining that the roll position is not within the adjusted working operating angle range.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a communication system according to one embodiment of the invention.

FIGS. 2A and 2B illustrate an example power tool of the communication system of FIG. 1 according to two example embodiments.

FIG. 3 illustrates a block diagram of the power tool of FIGS. 2A and 2B according to one example embodiment.

FIG. 4 illustrates a flowchart of an example method of detecting kickback of the power tool of FIGS. 2A and 2B and ceasing driving of a motor of the power tool in response to detecting the kickback.

FIG. 5 illustrates an example screenshot of a user interface of an external device of the communication system of FIG. 1.

FIG. 6 illustrates three example orientations of the power tool of FIGS. 2A and 2B.

FIG. 7 illustrates a flowchart of an example method of setting a kickback sensitivity parameter based on the orientation of the power tool of FIGS. 2A and 2B.

FIGS. 8A and 8B are charts that illustrate an exaggerated quick release feature of the power tool of FIGS. 2A and 2B according to some embodiments.

FIG. 9 illustrates a flowchart of an example method of setting a kickback sensitivity parameter based on a battery characteristic of a battery pack coupled to the power tool of FIGS. 2A and 2B.

FIG. 10 illustrates a flowchart of an example method of adjusting a kickback sensitivity parameter based on a kickback event of the power tool of FIGS. 2A and 2B.

FIG. 11 illustrates three example roll positions of the power tool of FIGS. 2A and 2B.

FIG. 12 illustrates a flowchart of an example method of reducing power supplied to the motor of the power tool of FIGS. 2A and 2B based on detected tool walk of the power tool.

FIGS. 13 and 14 illustrate flowcharts of example methods of controlling the power tool of FIGS. 2A and 2B after the power tool 102 a becomes bound in a workpiece.

FIG. 15 illustrates a flowchart of another method of detecting kickback of the power tool of FIGS. 2A and 2B and ceasing driving of the motor in response to detecting the kickback.

FIG. 16 illustrates a flowchart of an example method of detecting kickback of the power tool of FIGS. 2A and 2B where the method adjusts a working operating angle range based on a monitored angular velocity of the housing of the power tool of FIGS. 2A and 2B.

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limited. The use of “including,” “comprising” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. The terms “mounted,” “connected” and “coupled” are used broadly and encompass both direct and indirect mounting, connecting and coupling. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings, and can include electrical connections or couplings, whether direct or indirect. Additionally, unless noted otherwise, “near,” “approximately,” and substantially may refer to within 5% or 10% of a particular value, or within 5 or 10 degrees of a particular angle, in the case of an angle.

It should be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be utilized to implement the invention. Furthermore, and as described in subsequent paragraphs, the specific configurations illustrated in the drawings are intended to exemplify embodiments of the invention and that other alternative configurations are possible. The terms “processor” “central processing unit” and “CPU” are interchangeable unless otherwise stated. Where the terms “processor” or “central processing unit” or “CPU” are used as identifying a unit performing specific functions, it should be understood that, unless otherwise stated, those functions can be carried out by a single processor, or multiple processors arranged in any form, including parallel processors, serial processors, tandem processors or cloud processing/cloud computing configurations.

One embodiment includes a power tool that includes a housing and a motor within the housing. The motor includes a rotor and a stator, and the rotor is coupled to a drive device to produce an output. The power tool further includes a switching network electrically coupled to the motor and an orientation sensor configured to monitor an orientation of the power tool. The power tool further includes an electronic processor coupled to the switching network and the orientation sensor. The electronic processor is configured to determine an orientation of the power tool based on information received from the orientation sensor. The electronic processor is further configured to set a kickback sensitivity parameter based on the orientation of the power tool. The electronic processor is further configured to monitor a power tool characteristic associated with the kickback sensitivity parameter. The electronic processor is further configured to determine that a kickback of the power tool is occurring based on the monitored power tool characteristic reaching a kickback threshold. The electronic processor is further configured to control the switching network to cease driving of the motor in response to the monitored power tool characteristic reaching the kickback threshold.

Another embodiment includes a power tool including a housing and a motor within the housing. The motor includes a rotor and a stator and the rotor is coupled to a drive device to produce an output. The power tool further includes a switching network electrically coupled to the motor and an electronic processor coupled to the switching network. The electronic processor is configured to determine a battery characteristic of a battery pack coupled to the power tool. The electronic processor is further configured to set a kickback sensitivity parameter based on the battery characteristic of the battery pack. The electronic processor is further configured to monitor a power tool characteristic associated with the kickback sensitivity parameter. The electronic processor is further configured to determine that a kickback of the power tool is occurring based on the monitored power tool characteristic reaching a kickback threshold. The electronic processor is further configured to control the switching network to cease driving of the motor in response to the power tool characteristic reaching the kickback threshold.

Another embodiment includes a power tool including a housing and a motor within the housing. The motor includes a rotor and a stator, and the rotor is coupled to a drive device to produce an output. The power tool further includes a switching network electrically coupled to the motor and a sensor configured to monitor a condition indicative of kickback of the power tool. The power tool further includes an electronic processor coupled to the switching network and the sensor. The electronic processor is configured to set a kickback sensitivity parameter and monitor a power tool characteristic associated with the kickback sensitivity parameter. The electronic processor is further configured to determine that a kickback event is occurring based on the monitored power tool characteristic. The electronic processor is further configured to adjust the kickback sensitivity parameter based on the kickback event. The electronic processor is further configured to determine that a kickback of the power tool is occurring based on the monitored power tool characteristic reaching a kickback threshold. The electronic processor is further configured to control the switching network to cease driving of the motor in response to the monitored power tool characteristic reaching the kickback threshold.

Another embodiment includes power tool including a housing and a motor within the housing. The motor includes a rotor and a stator, and the rotor is coupled to a drive device to produce an output. The power tool further includes a trigger and a switching network electrically coupled to the motor. The power tool further includes an orientation sensor configured to monitor an orientation of the power tool and an electronic processor coupled to the switching network and the orientation sensor. The electronic processor is configured to determine an initial roll position of the power tool at a time that the trigger is initially actuated based on information received from the orientation sensor. The electronic processor is further configured to monitor the roll position of the power tool. The electronic processor is further configured to determine that the roll position of the power tool has changed such that a difference between the roll position and the initial roll position exceeds a roll position threshold. The electronic processor is further configured to control the switching network to reduce power supplied to the motor in response to determining that the difference between the roll position and the initial roll position exceeds the roll position threshold.

In some embodiments, after the power supplied to the motor is reduced, the electronic processor is further configured to determine that the roll position of the power tool has further changed such that the roll position corresponds to the initial roll position. The electronic processor is also further configured to control the switching network to increase the power supplied to the motor in response to determining that the roll position corresponds to the initial roll position.

Another embodiment includes a power tool including a housing and a motor within the housing. The motor includes a rotor and a stator, and the rotor is coupled to a drive device to produce an output. The power tool further includes a trigger and a switching network electrically coupled to the motor. The power tool further includes a sensor configured to monitor a condition indicative of kickback of the power tool and an electronic processor coupled to the switching network and the sensor. The electronic processor is configured to control the switching network such that the motor rotates in a forward direction at a first speed when the trigger is actuated. The electronic processor is further configured to determine that the power tool has experienced a kickback based on information received from the sensor, wherein the kickback indicates that the drive device is bound in a workpiece. The electronic processor is further configured to control the switching network to cease driving of the motor in response to determining that the power tool has experienced a kickback. The electronic processor is further configured to in response to determining that the power tool has experienced a kickback, control the switching network such that the motor rotates in a reverse direction at a second speed that is less than the first speed.

In some embodiments, the electronic processor is configured to control the switching network such that the motor rotates in the reverse direction at the second speed when the trigger is actuated.

In some embodiments, the electronic processor is configured to control the switching network such that the motor rotates in the reverse direction without the trigger being actuated.

In some embodiments, the electronic processor is configured to determine that the housing of the power tool has rotated to a desired position and control the switching network to cease driving of the motor in response to determining that the housing of the power tool has rotated to the desired position.

FIG. 1 illustrates a communication system 100. The communication system 100 includes power tool devices 102 and an external device 108. Each power tool device 102 (e.g., power tool 102 a and power tool battery pack 102 b) and the external device 108 can communicate wirelessly while they are within a communication range of each other. Each power tool device 102 may communicate power tool status, power tool operation statistics, power tool identification, stored power tool usage information, power tool maintenance data, and the like. Therefore, using the external device 108, a user can access stored power tool usage or power tool maintenance data. With this tool data, a user can determine how the power tool device 102 has been used, whether maintenance is recommended or has been performed in the past, and identify malfunctioning components or other reasons for certain performance issues. The external device 108 is also configured to transmit data to the power tool device 102 for power tool configuration, firmware updates, or to send commands (e.g., turn on a work light). The external device 108 also allows a user to set operational parameters, safety parameters, select tool modes, and the like for the power tool device 102.

The external device 108 may be, for example, a smart phone (as illustrated), a laptop computer, a tablet computer, a personal digital assistant (PDA), or another electronic device capable of communicating wirelessly with the power tool device 102 and providing a user interface. The external device 108 provides a user interface and allows a user to access and interact with tool information. The external device 108 is configured to receive user inputs to determine operational parameters, enable or disable features, and the like. The user interface of the external device 108 provides an easy-to-use interface for the user to control and customize operation of the power tool 102 a.

The external device 108 includes a communication interface that is compatible with a wireless communication interface of the power tool device 102 (e.g., transceiver 315 shown in FIG. 3). The communication interface of the external device 108 may include a wireless communication controller (e.g., a Bluetooth® module), or a similar component. The external device 108, therefore, grants the user access to data related to the power tool device 102, and provides a user interface such that the user can interact with an electronic processor of the power tool device 102.

In addition, as shown in FIG. 1, the external device 108 can also share the information obtained from the power tool device 102 with a remote server 112 connected by a network 114. The remote server 112 may be used to store the data obtained from the external device 108, provide additional functionality and services to the user, or a combination thereof. In one embodiment, storing the information on the remote server 112 allows a user to access the information from a plurality of different locations. In another embodiment, the remote server 112 may collect information from various users regarding their power tool devices and provide statistics or statistical measures to the user based on information obtained from the different power tools. For example, the remote server 112 may provide statistics regarding the experienced efficiency of the power tool device 102, typical usage of the power tool device 102, and other relevant characteristics and/or measures of the power tool device 102. The network 114 may include various networking elements (routers, hubs, switches, cellular towers, wired connections, wireless connections, etc.) for connecting to, for example, the Internet, a cellular data network, a local network, or a combination thereof. In some embodiments, the power tool device 102 may be configured to communicate directly with the server 112 through an additional wireless interface or with the same wireless interface that the power tool device 102 uses to communicate with the external device 108.

In some embodiments, the power tool 102 a and power tool battery pack 102 b may wirelessly communicate with each other via respective wireless transceivers within each device. For example, the power tool battery pack 102 b may communicate a battery characteristic to the power tool 102 a (e.g., a battery pack identification, a battery pack type, a battery pack weight, a current output capability of the battery pack 102 b, and the like). Such communication may occur while the battery pack 102 b is coupled to the power tool 102 a. Additionally or alternatively, the battery pack 102 b and the power tool 102 a may communicate with each other using a communication terminal while the battery pack 102 b is coupled to the power tool 102 a. For example, the communication terminal may be located near the battery terminals in the battery receiving portion 206 of FIGS. 2A and 2B.

The power tool device 102 is configured to perform one or more specific tasks (e.g., drilling, cutting, fastening, pressing, lubricant application, sanding, heating, grinding, bending, forming, impacting, polishing, lighting, etc.). For example, an impact wrench and a hammer drill are associated with the task of generating a rotational output (e.g., to drive a bit).

FIGS. 2A and 2B illustrate the power tool 102 a according to two example embodiments. In the embodiment shown in FIG. 2A, the power tool 102 a is an impact driver. In the embodiment shown in FIG. 2B, the power tool 102 a is a hammer drill. In FIGS. 2A and 2B, similar elements are labeled with the same reference numbers. The power tools 102 a of FIGS. 2A and 2B are representative of various types of power tools that operate within the system 100. Accordingly, the description with respect to the power tool 102 a in the system 100 is similarly applicable to other types of power tools, such as right angle drills, joist and stud drills, other drills, ratchets, screwdrivers, concrete mixers, hole diggers, rotary tools, and the like.

As shown in FIG. 2A, the power tool 102 a includes an upper main body 202, a handle 204, a battery pack receiving portion 206, an output driver 210, a trigger 212, a work light 217, and a forward/reverse selector 219. The housing of the power tool 102 a (e.g., the main body 202 and the handle 204) are composed of a durable and light-weight plastic material. The output driver 210 is composed of a metal (e.g., steel). The output driver 210 on the power tool 102 a is a female socket configured to hold a bit or similar device. However, other power tools may have a different output driver 210 specifically designed for the task associated with the other power tools, such as a chuck to hold a drill bit (see FIG. 2B), an arbor to hold a saw blade, a reciprocating saw blade holder, or a male socket driver. The battery pack receiving portion 206 is configured to receive and couple to a battery pack (e.g., battery pack 102 b of FIG. 1) that provides power to the power tool 102 a. The battery pack receiving portion 206 includes a connecting structure to engage a mechanism that secures the battery pack and a terminal block to electrically connect the battery pack to the power tool 102 a.

The power tool 102 a includes a motor housed within the upper main body 202. The motor includes a rotor and a stator. The rotor is coupled to the output driver 210 to produce an output about a rotational axis 211 to allow the output driver 210 to perform the particular task. The motor is energized based on the position of the trigger 212. Unless overriding control features are activated, when the trigger 212 is depressed the motor is energized, and when the trigger 212 is released, the motor is de-energized. In the illustrated embodiment, the trigger 212 extends partially down a length of the handle 204; however, in other embodiments the trigger 212 extends down the entire length of the handle 204 or may be positioned elsewhere on the power tool 102 a. The trigger 212 is moveably coupled to the handle 204 such that the trigger 212 moves with respect to the tool housing. The trigger 212 is coupled to a push rod, which is engageable with a trigger switch. The trigger 212 moves in a first direction towards the handle 204 when the trigger 212 is depressed by the user. The trigger 212 is biased (e.g., with a spring) such that it moves in a second direction away from the handle 204, when the trigger 212 is released by the user. When the trigger 212 is depressed by the user, the push rod activates the trigger switch, and when the trigger 212 is released by the user, the trigger switch is deactivated.

In other embodiments, the trigger 212 is coupled to an electrical trigger switch. In such embodiments, the trigger switch may include, for example, a transistor. Additionally, for such electronic embodiments, the trigger 212 may not include a push rod to activate the mechanical switch. Rather, the electrical trigger switch may be activated by, for example, a position sensor (e.g., a Hall-Effect sensor) that relays information about the relative position of the trigger 212 to the tool housing or electrical trigger switch. The trigger switch outputs a signal indicative of the position of the trigger 212. In some instances, the signal is binary and indicates either that the trigger 212 is depressed or released. In other instances, the signal indicates the position of the trigger 212 with more precision. For example, the trigger switch may output an analog signal that various from 0 to 5 volts depending on the extent that the trigger 212 is depressed. For example, 0 V output indicates that the trigger 212 is released, 1 V output indicates that the trigger 212 is 20% depressed, 2 V output indicates that the trigger 212 is 40% depressed, 3 V output indicates that the trigger 212 is 60% depressed 4 V output indicates that the trigger 212 is 80% depressed, and 5 V indicates that the trigger 212 is 100% depressed. The signal output by the trigger switch may be analog or digital.

As shown in FIG. 2B, the power tool 102 a includes many similar components as the power tool 102 a shown in FIG. 2A. For example, the hammer drill of FIG. 2B includes an upper main body 202, a handle 204, a battery pack receiving portion 206, a trigger 212, a work light 217, and a forward/reverse selector 219. The hammer drill also includes a chuck 221 and torque setting dial 223. As noted above, many elements of the hammer drill of FIG. 2B share reference numbers with respective elements of the impact driver of FIG. 2A. Accordingly, these similarly-labeled elements of FIG. 2B may include similar functionality as that described above with respect to FIG. 2A.

FIG. 3 illustrates a block diagram of the power tool 102 a. As shown in FIG. 3, the power tool 102 a includes an electronic processor 305 (for example, a microprocessor or other electronic device), a memory 310, a transceiver 315, a battery pack interface 320, a switching network 325, a motor 330, Hall sensors 335, a current sensor 340, an orientation sensor 345, and a movement sensor 350. In some embodiments, the power tool 102 a may include fewer or additional components in configurations different from that illustrated in FIG. 3. For example, in some embodiments, the power tool 102 a may include one or more indicators such as light-emitting diodes (LEDs) to indicate a status of the power tool 102 a or a mode of the power tool 102 a. In some embodiments, the power tool 102 a may include multiple orientation sensors 345 and/or movement sensors 350. In some embodiments, the power tool 102 a may perform functionality other than the functionality described below.

For example, the electronic processor 305 is configured to adjust one or more of the settings, mode, and motor speed of the power tool 102 a based on signals received from one or more sensors of the power tool 102 a, as explained in greater detail below.

The transceiver 315 sends and receives data to and from the external device 108, the network 114, or both, as explained above. For example, through the transceiver 315, the electronic processor 305 may send stored power tool usage or maintenance data to the external device 108 and may receive operational parameters or tool modes from the external device 108.

The battery pack interface 320 transmits power received from the battery pack to the electronic processor 305 and the switching network 325. Although not shown in FIG. 3, in some embodiments, the power tool 102 a includes active and/or passive components (e.g., voltage step-down controllers, voltage converters, rectifiers, filters, etc.) to regulate or control the power received through the battery pack interface 320 and provided to the electronic processor 305 and/or the motor 330.

The switching network 325 enables the electronic processor 305 to control the operation of the motor 330. Generally, when the trigger 212 is depressed, electrical current is supplied from the battery pack interface 320 to the motor 330, via the switching network 325. When the trigger 212 is not depressed, electrical current is not supplied from the battery pack interface 325 to the motor 330. The electronic processor 305 controls the switching network 325 to control the amount of current available to the motor 330 and thereby controls the speed and torque output of the motor 330. The switching network 325 may include numerous FETs, bipolar transistors, or other types of electrical switches. For instance, the switching network 325 may include a six-FET bridge that receives pulse-width modulated (PWM) signals from the electronic processor 305 to drive the motor 330.

The sensors 335, 340, 345, and 350 are coupled to the electronic processor 305 and communicate various signals to the electronic processor 305 that are indicative of different parameters of the power tool 102 a or the motor 330. Although not shown in FIG. 3, in some embodiments, the power tool 102 a includes additional sensors such as one or more voltage sensors, one or more temperature sensors, one or more torque sensors, and the like.

In some embodiments, each Hall sensor 335 outputs motor feedback information to the electronic processor 305, such as an indication (e.g., a pulse) when a magnet of the motor's rotor rotates across the face of that Hall sensor 335. Based on the motor feedback information from the Hall sensors 335, the electronic processor 305 can determine the position, velocity, and acceleration of the rotor. In response to the motor feedback information and the position of the trigger 212, the electronic processor 305 transmits control signals to control the switching network 325 to drive the motor 330. For instance, by selectively enabling and disabling the FETs of the switching network 325, power received via the battery pack interface 320 is selectively applied to stator coils of the motor 330 to cause rotation of its rotor. The motor feedback information is used by the electronic processor 305 to ensure proper timing of control signals to the switching network 325 and, in some instances, to provide closed-loop feedback to control the speed of the motor 330 to be at a desired level. For example, as feedback from the Hall sensors 335 indicates rotation of the rotor, the electronic processor 305 sequentially (a) enables select FET pairs of the switching network such that the magnetic field produced by the associated stator coils continuously drives the rotor and (b) disables the remaining FETs of the switching network 325 such that current is not diverted from the appropriate stator coils and such that the stator coils do not produce a magnetic field that inhibits rotation of the rotor.

In some embodiments, the current sensor 340 monitors current drawn by the motor 330 (i.e., the motor current). In some embodiments, the orientation sensor 345 is an accelerometer and transmits signals to the electronic processor 305 that are indicative of an orientation of the power tool 102 a with respect to gravity. For example, the orientation sensor 345 may indicate a pitch or roll of the power tool 102 a. The pitch of the power tool 102 a is represented by a pitch angle α and indicates the direction in which the output driver 210 is facing along a pitch axis 240 of FIGS. 2A and 2B (e.g., upward, downward, or horizontally). The pitch axis 240, illustrated as a point, extends in an out of the page in the view of FIGS. 2A and 2B. The roll of the power tool 102 a indicates a position/angle with respect to gravity of the power tool 102 a about the rotational axis 211 (usually when the power tool 102 a is oriented horizontally). For example, FIGS. 2A and 2B illustrate a roll motion 245 about the rotational axis 211.

In some embodiments, the movement sensor 350 is a gyroscope and transmits signals to the electronic processor 305 that are indicative of an angular velocity of the power tool 102 a. For example, in a situation where the output of the power tool 102 a is bound in a workpiece (i.e., during a kickback of the power tool 102 a as described in greater detail below), signals from the movement sensor 350 may indicate the angular velocity at which the housing of the power tool 102 a rotates about its rotational axis (e.g., in degrees per second).

In some embodiments, the electronic processor 305 monitors roll position of the power tool 102 a to determine when kickback of the power tool 102 a is occurring. For example, the electronic processor 305 may compare a current roll position of the power tool 102 a during operation to an initial roll position when the trigger 212 was actuated or to a preferred roll position (e.g., a horizontal orientation 605 with the rotational axis of the power tool 102 a at ninety degrees with respect to gravity as shown in FIG. 6). In some embodiments, the electronic processor 305 directly monitors the current roll position of the power tool 102 a by receiving signals from the orientation sensor 345 that indicate the roll position of the power tool 102 a. In other embodiments, the electronic processor 305 infers the current roll position of the power tool 102 a based on the initial roll position when the trigger 212 was actuated (as determined by direct measurement from the orientation sensor 345) and monitored angular velocity of the housing of the power tool 102 (as determined by the movement sensor 350). In other words, the electronic processor 305 indirectly determines the current roll position of the power tool 102 a by multiplying the current angular velocity measurement by the amount of time between angular velocity measurements to determine a roll movement. The electronic processor 305 then adds the roll movement to the initial roll position of the power tool 102 a to determine a current roll position of the power tool 102 a.

In some embodiments, the sensors 345 and 350 may include one or more accelerometers, gyroscopes, or magnets that may be separate or integrated into a single assembly. In some embodiments, the sensors 345 and 350 allow for movement of the power tool 102 a to be monitored from one to nine axes (e.g., at least one of three axis monitoring, six axis monitoring, and nine axis monitoring). In some embodiments, the power tool 102 a includes an inertial measurement unit (IMU) printed circuit board (PCB) that includes the sensors 345 and 350. In some embodiments, the IMU PCB is located in the foot of the power tool 102 a (i.e., near the battery pack receiving portion 206) and communicates information obtained by the sensors 345 and 350 to the electronic processor 305 located on a control PCB in the handle 204 of the power tool 102 a. In such embodiments, the IMU PCB is isolated from vibration caused by the motor 330 and may accurately monitor the roll position of the power tool 102 a about the rotational axis 211. In some embodiments, the IMU PCB is located at other locations in the power tool 102 a. For example, the IMU PCB may be located underneath the motor 330 (e.g., above the handle 204 or at the upper portion of the handle 204). As another example, the IMU PCB may be located above the motor 330.

In some situations, the power tool 102 a may kickback when the output of the power tool 102 a becomes bound in a workpiece such that the output remains stationary. In such situations, the torque provided by the rotational inertia of the power tool 102 a may overpower the force of the user's hand on the power tool 102 a causing the housing of the power tool 102 a to rotate outside of the user's control. In some embodiments, the electronic processor 305 implements kickback control functionality to prevent or reduce kickback of the power tool 102 a based on signals received from one or more of the sensors 335, 340, 345, and 350.

FIG. 4 illustrates a flowchart of an example method 400 of detecting kickback of the power tool 102 a and ceasing driving of the motor 330 in response to detecting the kickback. At block 405, the electronic processor 305 monitors a power tool characteristic of the power tool 102 a using one or more sensors. For example, the power tool characteristic may be a motor current monitored using the current sensor 340, an angular velocity of a housing of the power tool 102 a monitored using the movement sensor 350, a roll position of the power tool 102 a directly monitored using the orientation sensor 345 or indirectly monitored using a combination of the orientation sensor 345 and the movement sensor 350, or the like.

In some embodiments, when monitoring the power tool characteristic, the electronic processor 305 may implement a filtering method to filter data received from the sensors to control the accuracy of the received data. For example, the electronic processor 305 may pass data through a low pass filter to remove spikes in data that may be caused by normal tool operation or may be generated due to errors made by the sensor. In other situations, the electronic processor 305 may lessen the effect of the low pass filter or may not implement the low pass filter such that the electronic processor 305 recognizes shorter direction spikes in data received from the sensors. As another example of a filtering method, when signals are received from the movement sensor 350 that indicate movement in multiple directions, the electronic processor 305 may give more weight to movement in a certain direction.

At block 410, the electronic processor 305 determines whether the power tool characteristic has reached a kickback threshold. This determination may indicate whether kickback of the power tool 102 a is occurring where the housing of the power tool 102 a rotates outside of the user's control. In some embodiments, the kickback threshold may be a minimum value or a maximum value. For example, in some situations, a decrease in motor current is indicative of a start of kickback or some other loss of control of the power tool 102 a by the user. For example, the decrease in motor current may indicate that the user is no longer applying pressure on the power tool 102 a toward the workpiece. However, in other situations, an increase in motor current is indicative of a start of kickback (for example, when the power tool 102 a encounters a tougher material than the workpiece such as rebar behind a piece of wood). In embodiments where the power tool characteristic is current, the kickback threshold may be a current threshold in Amps or a rate of change in current in Amps per second. In embodiments where the power tool characteristic is angular velocity, the kickback threshold is a rotation speed threshold (e.g., in degrees per second) of the housing of the power tool 102 a. In embodiments where the power tool characteristic is roll position, the kickback threshold is a working operating angle range in which the housing of the power tool 102 a may rotate before the motor 330 is shut down (e.g., plus-or-minus a number of degrees from an initial roll position or a preferred roll position of the power tool 102 a). In embodiments with a different power tool characteristic, the electronic processor 305 uses a kickback threshold corresponding to the different power tool characteristic. In some embodiments, the electronic processor 305 sets the kickback threshold based on the speed of the motor 330. For example, in some embodiments, the method 400 is updated to include a first additional block (e.g., between blocks 405 and 410) for the electronic processor 305 to determine motor speed and a second additional block (e.g., between the first additional block and block 410) for the electronic processor 305 to update the kickback threshold based on the determined motor speed (e.g., using a lookup table mapping motor speeds to thresholds). In one example, as the speed of the motor 330 increases, the kickback threshold is updated to be more sensitive. For example, in embodiments where the power tool characteristic is angular velocity, the electronic processor 305 may use a lower kickback threshold (i.e., higher kickback sensitivity) when the speed of the motor 330 is high than when the speed of the motor 330 is lower. In this example, the kickback threshold changes dynamically based on the speed of the motor 330.

In some embodiments, the electronic processor 305 is configured to utilize two different kickback thresholds. For example, in embodiments where the power tool characteristic is angular velocity and the kickback threshold is a rotation speed threshold of the housing of the power tool 102 a, a first rotation speed threshold that is lower (i.e., more sensitive) than a second rotation speed threshold may be utilized by the electronic processor 305. Because kickback of the power tool 102 a most often occurs in a direction opposite of the rotation of the motor 330, the electronic processor 305 utilizes the first rotation speed threshold to detect kickback in the direction opposite of the rotation of the motor 330. In some embodiments, the first rotation speed threshold is lower (i.e., more sensitive) than a second rotation speed threshold utilized to detect kickback in the same direction of the rotation of the motor 330. Accordingly, when the forward/reverse selector 219 is actuated to change the rotational direction in which the output driver 210 is driven, the first and second rotation speed threshold correspondingly change such that the kickback threshold is more sensitive and shuts the power tool 102 a more quickly based on an angular velocity of the housing of the power tool 102 a in a direction opposite of the rotation of the motor 330. For example, when the output driver 210 is rotated in a clockwise direction, it is more likely that kickback of the power tool 102 a will occur in a counter-clockwise direction. Therefore, samples indicating an angular velocity in the clockwise direction (which are less likely or unlikely to be a kickback of the power tool 102 a) are handled with greater tolerance than samples indicating an angular velocity in the counter-clockwise direction (which are more likely to be a kickback of the power tool 102 a). The different rotation speed thresholds depending on the direction of the angular velocity that is measured with respect to the rotational direction of the output driver 210 are intended to reduce nuisance shutdowns, for example, in the use case of operators rotating the tool themselves during operation.

In some embodiments, the monitored power tool characteristic is a position of the trigger 212 and the kickback threshold is a predetermined change in the amount of trigger actuation or a predetermined change in the amount of trigger actuation over a predetermined time period (i.e., a speed of trigger release). In such embodiments, the kickback threshold indicates when the trigger 212 has been released to cause the electronic processor 305 to control the switch network 325 to cease driving of the motor 330. For example, the electronic processor 305 may determine that the monitored position of the trigger 212 has changed such that the trigger 212 is being or has been released by the user. Accordingly, this kickback threshold may be referred to as a trigger release sensitivity of the power tool 102 a because it determines how quickly the electronic processor 305 controls the switching network 325 to cease driving the motor 330 in response to changes in position of the trigger 212.

When the electronic processor 305 determines that the monitored power tool characteristic has not reached the kickback threshold (at block 410), the method 400 proceeds back to block 405 to continue monitoring the power tool characteristic. When the electronic processor 305 determines that the monitored power tool characteristic has reached the kickback threshold, at block 415, the electronic processor 305 controls the switching network 325 to cease driving of the motor 330. For example, the electronic processor 305 may prevent the switching network 325 from supplying power to the motor 330, may stop the motor 330 using active braking, or may cease driving of the motor 330 in another manner.

Although the method 400 is described above with respect to one power tool characteristic, in some embodiments, the electronic processor 305 monitors a plurality of power tool characteristics and compares each of the monitored power tool characteristics to a respective kickback threshold. In some of these embodiments, the electronic processor 305 controls the switching network 325 to cease driving of the motor 330 in response to a predetermined number of the plurality of power tool characteristics reaching their respective kickback thresholds. In some embodiments, when a first monitored power tool characteristic (e.g., motor current) reaches its respective kickback threshold (e.g., decreases below a low current threshold), the electronic processor 305 begins monitoring a second power tool characteristic (e.g., angular velocity of the power tool 102 a). In such embodiments, when the second power tool characteristic reaches its respective threshold (e.g., increases above a rotation speed threshold), the electronic processor 305 controls the switching network 325 to cease driving of the motor 330. Additionally, in some embodiments, the electronic processor 305 monitors a plurality of power tool characteristics and adjusts at least one kickback sensitivity parameter based on at least one of the monitored power tool characteristics (e.g., see FIGS. 10 and 16 and corresponding explanation below). In some embodiments, by comparing a plurality of measurements of power tool characteristics to their respective kickback thresholds allows the electronic processor 305 to detect kickback of the power tool 102 a and shuts down the motor 330 but also prevent nuisance shutdowns of the motor 330 (i.e., preventing frequent shutdown of the motor 330 when the user still has control of the power tool 102 a). For example, the electronic processor shuts down the motor 330 in response to multiple measurements of a single power tool characteristic exceeding its respective kickback threshold or measurements of multiple power tool characteristics exceeding their respective kickback thresholds. In other words, in some embodiments, a single measurement of a power tool characteristic that exceeds its kickback threshold may not cause the electronic processor 305 to cease driving the motor 330 and, accordingly, may improve operator experience by preventing nuisance shutdowns of the motor 330.

FIG. 15 illustrates a flowchart of another method of detecting kickback of the power tool 102 a and ceasing driving of the motor 330 in response to detecting the kickback. The method 1500 allows the electronic processor 305 to detect kickback of the power tool 102 a when the angular velocity of the housing of the power tool 102 a has exceeded a rotation speed threshold a predetermined number of times within a time period. However, in some embodiments, the electronic processor 305 may monitor a different power tool characteristic to determine when a different power tool characteristic exceeds a respective kickback threshold a predetermined number of times within a time period. In some embodiments, the time period is a predetermined time period (for example, 250 milliseconds, 500 milliseconds, one second, or the like). In other embodiments, the time period is not predetermined and instead the time period lasts for as long as the trigger 212 is actuated and the power tool 102 a is running. In other words, the counter explained below with respect to FIG. 15 may rise and fall for as long as the power tool 102 a is running, and may reset when the trigger 212 is released. In such embodiments, the method 1500 allows the electronic processor 305 to detect kickback of the power tool 102 a by a threshold crossing of a leaky accumulator augmented in response to the angular velocity of the housing of the power tool 102 a exceeding a rotation speed threshold. Additionally, in some embodiments, the leaky accumulator acts as a leaky accumulator of some function of rotational speed or some other power tool characteristic whereby kickback is detected upon the leaky accumulator being augmented above an associated threshold for the other power tool characteristic. Similarly, a leak rate of leaky accumulator may not be constant and may be set by the electronic processor 305 as a function of a power tool characteristic. In some embodiments, a leaky accumulator, as described herein, may be a function implemented by the electronic processor 305.

At block 1505, the electronic processor 305 monitors an angular velocity of the housing of the power tool 102 a (e.g., using information received from the movement sensor 350). At block 1510, the electronic processor 305 determines whether the angular velocity is greater than a rotation speed threshold. When the angular velocity is greater than the rotation speed threshold, the method 1500 proceeds to block 1515 where the electronic processor 305 determines whether a counter is greater than a counter threshold. When the counter is not greater than the counter threshold, the method 1500 proceeds to block 1520 where the electronic processor 305 increments the counter by one because the angular velocity has exceeded the rotation speed threshold. Then the method 1500 proceeds back to block 1505 to continue monitoring the angular velocity of the housing of the power tool 102 a. In some embodiments, before proceeding back to block 1505, the electronic processor 305 may delay a predetermined time period in order to sample angular velocity data from the movement sensor 350 at predetermined intervals. In some embodiments, the predetermined time period that defines a sampling rate of angular velocity data from the movement sensor 350 is dynamically determined by the electronic processor 305 based on another power tool characteristic (for example, based on the orientation of the power tool 102 a).

When the angular velocity is not greater than the rotation speed threshold (at block 1510), the method 1500 proceeds to block 1525 where the electronic processor 305 determines whether the counter is equal to zero. When the counter is equal to zero, the method 1500 proceeds back to block 1505 to continue monitoring the angular velocity of the housing of the power tool 102 a. When the counter is not equal to zero, at block 1530, the electronic processor 305 decrements the counter by one because the angular velocity is not greater than the rotation speed threshold. Then, the method 1500 proceeds back to block 1505 to continue monitoring the angular velocity of the housing of the power tool 102 a. In some embodiments, before proceeding back to block 1505, the electronic processor 305 may delay a predetermined time period in order to sample angular velocity data from the movement sensor 350 at predetermined intervals. As mentioned above, in some embodiments, the predetermined time period that defines a sampling rate of angular velocity data from the movement sensor 350 is dynamically determined by the electronic processor 305 based on another power tool characteristic (for example, based on the orientation of the power tool 102 a).

When the counter is greater than the counter threshold (at block 1515), the method 1500 proceeds to block 1535 where the electronic processor 305 controls the switching network 325 to cease driving of the motor 330. Accordingly, the method 1500 allows the electronic processor 305 to detect kickback of the power tool 102 a when the angular velocity of the housing of the power tool 102 a has exceeded a rotation speed threshold a predetermined number of times within a time period as defined by the counter threshold. In other words, with reference to the explanation of a leaky accumulator above, the method 1500 allows the electronic processor 305 to detect kickback of the power tool 102 a when the angular velocity of the housing of the power tool 102 a has augmented a leaky accumulator above some threshold. In some embodiments, the rotation speed threshold, the counter threshold, and the time delay between monitored samples of the angular velocity may be referred to as kickback sensitivity parameters that may be adjusted to refine kickback control of the power tool 102 a in accordance with other portions of this application. For example, one or more of the rotation speed threshold, the counter threshold, and the time delay may be adjusted by a user via an external device 108 (see FIG. 5). The power tool 102 a then receives one or more of these kickback sensitivity parameters from the external device 108, and the electronic processor 305 executes the method 1500 using the values of the received kickback sensitivity parameters. For example, the lower the rotation speed threshold, the counter threshold, and the time delay, the more sensitive the kickback control. As noted above, in some embodiments, the electronic processor 305 executes the method 1500 as the power tool 102 a is running, and may reset the counter when the trigger 212 is released or when a predetermined time period elapses. For example, an additional conditional block may be added before looping back to block 1505 in which the electronic processor 305 determines whether the predetermined time period has elapsed, the trigger has been released, or both, and, when true, resets the counter to zero. Further, when the trigger has been released and the counter is reset, the processor may cease running the method 1500 until the next trigger pull.

In some embodiments, the method 1500 detects kickback of the power tool 102 a and shuts down the motor 330 but also prevents nuisance shutdowns of the motor 330 (i.e., preventing frequent shutdown of the motor 330 when the user still has control of the power tool 102 a). For example, through use of the counter, the method 1500 shuts down the motor 330 in response to multiple measurements of the angular velocity of the housing of the power tool 102 a exceeding the rotation speed threshold. In other words, in some embodiments, a single measurement of angular velocity that exceeds the rotation speed threshold may not cause the electronic processor 305 to cease driving the motor 330 and, accordingly, may improve operator experience by preventing nuisance shutdowns of the motor 330.

As mentioned above, in some embodiments, the electronic processor 305 monitors a plurality of power tool characteristics and adjusts at least one kickback sensitivity parameter based on at least one of the monitored power tool characteristics. FIG. 16 illustrates a flowchart of an example method 1600 of detecting kickback of the power tool 102 a where the method 1600 adjusts a working operating angle range (i.e., a kickback sensitivity parameter) based on a monitored angular velocity of the housing of the power tool 102 a (i.e., a monitored power tool characteristic). The method 1600 allows the electronic processor 305 to detect kickback of the power tool 102 a when the roll position of the power tool 102 a is outside a working operating angle range that is updated based on the angular velocity of the housing of the power tool 102 a. Some of the blocks of the method 1600 are similar to blocks from other methods explained below (e.g., FIGS. 7 and 10).

Blocks 1605 and 1610 of FIG. 16 are similar to blocks 705 and 710 of FIG. 7 explained below. At block 1605, the electronic processor 305 determines an initial orientation of the power tool 102 a based on information received from the orientation sensor 345 when the trigger 212 is actuated. In some embodiments, the electronic processor 305 sets the initial orientation to correspond to an initial roll position of zero. At block 1610, the electronic processor 305 determines a working operating angle range of the power tool 102 a based on the initial orientation of the power tool 102 a. For example, when the pitch of the power tool 102 a indicates that the power tool 102 a is facing upward (i.e., in the vertically upward orientation 610 of FIG. 6), the user may be drilling overhead and/or standing on a ladder or scaffolding such that they may have less control of the power tool 102 a. Accordingly, when the electronic processor 305 determines that the output driver 210 of the power tool 102 a is facing upward, the electronic processor 305 may set a working operating angle range of the power tool 102 a to be small (e.g., plus-or-minus fifteen degrees from the initial roll position) such that driving of the motor 330 ceases when less kickback is sensed (i.e., higher kickback sensitivity). Additional examples of setting a kickback sensitivity parameter such as the working operating angle range based on the orientation of the power tool 102 a are explained below with respect to blocks 705 and 710 of FIG. 7.

At block 1615, the electronic processor 305 monitors angular velocity of the housing of the power tool 102 a using the movement sensor 350. At block 1620, the electronic processor 305 determines whether the angular velocity of the housing of the power tool 102 a is greater than a working operating angle range adjustment threshold. In some embodiments, an angular velocity above the working operating angle range adjustment threshold may indicate that the user is beginning to lose control of the power tool 102 a (i.e., a near kickback event as described below with respect to FIG. 10). Accordingly, when the angular velocity is above the working operating angle range adjustment threshold, at block 1625, the electronic processor 305 adjusts the working operating angle range based on the angular velocity. Continuing the above example, the electronic processor 305 may reduce the working operating angle range from plus-or-minus fifteen degrees from the initial roll position of the power tool 102 a to plus-or-minus ten degrees from the initial roll position of the power tool 102 a. In other words, the electronic processor 305 increases kickback sensitivity by decreasing the range of roll positions in which the power tool 102 a is able to rotate without the motor 330 being shut down due to detection of kickback. After the working operating angle range is adjusted, the method 1600 proceeds to block 1630. At block 1620, when the angular velocity is not greater than the working operating angle range adjustment threshold, the method 1600 proceeds to block 1630 without adjusting the working operating angle range. In other words, the working operating angle range remains unchanged because the angular velocity measurement indicates that the housing of the power tool 102 a is not rotating or is rotating slowly, and the user is not likely losing control of the power tool 102 a.

At block 1630, the electronic processor 305 determines the current roll position of the power tool 102 a. As described above, the electronic processor 305 may determine the roll position of the power tool 102 a either directly or indirectly. At block 1635, the electronic processor 305 determines whether the roll position of the power tool 102 a is within the working operating angle range. When the roll position is within the working operating angle range, the method 1600 proceeds back to block 1615 to continue to monitor the angular velocity of the housing of the power tool 102 a. When the roll position is not within the working operating angle range (i.e., when the housing of the power tool 102 a has rotated outside of the working operating angle range), at block 1640, the electronic processor controls the switching network 325 to cease driving of the motor 330.

Accordingly, the method 1600 allows the electronic processor 305 to detect kickback of the power tool 102 a when the roll position of the power tool 102 a is outside a working operating angle range that is updated based on the angular velocity of the housing of the power tool 102 a. In some embodiments, the working operating angle range and the working operating angle range adjustment threshold may be referred to as kickback sensitivity parameters that may be adjusted to refine kickback control of the power tool 102 a in accordance with other portions of this application. Although not shown in FIG. 16, in some embodiments, the electronic processor 305 may re-adjust the working operating angle range back to its originally-set value in response to determining that the angular velocity of the housing of the power tool 102 a has decreased below a predetermined value or has decreased to zero.

In some embodiments, in addition to shutting down the motor 330 in response to the roll position of the power tool being outside the working operating angle range, the electronic processor 305 also may shut down the motor if the angular velocity exceeds a rotation speed threshold. In some embodiments, the working operating angle range adjustment threshold is less than the rotation speed threshold. In other embodiments, the electronic processor 305 may monitor the angular velocity of the housing of the power tool 102 a solely for the purpose of updating the working operating angle range and may not shut down the power tool 102 a based on the angular velocity exceeding the rotation speed threshold. In some embodiments, at block 1610, the electronic processor 305 determines an initial value for the working operating angle range adjustment threshold based on the initial orientation of the power tool 102 a in a similar manner as described above with respect to the working operating angle range.

In some embodiments, the kickback control implemented by the electronic processor 305 is controllable via the external device 108. FIG. 5 illustrates an example screenshot of a user interface 505 of the external device 108 that allows for kickback sensitivity parameters (e.g., kickback thresholds, filtering methods, and the like) to be adjusted by a user. As shown in FIG. 5, kickback control can be optionally turned on or off using a toggle switch 510. In other words, the electronic processor 305 receives a user selection via the toggle switch 510 and the external device 108 indicating whether to implement the method 400 described above. In some embodiments, the power tool 102 a may include an LED that illuminates to indicate that kickback control is activated.

Also as shown in FIG. 5, a sensitivity level of kickback control can be optionally set using a slider bar 515. In some embodiments, the sensitivity level sets at least one of the kickback thresholds described above (e.g., a current threshold, a rotation speed threshold, a trigger release sensitivity, a working operating angle range, and the like). In other words, the electronic processor 305 receives an indication of the sensitivity level via the slider bar 515 and the external device 108, and adjusts one or more of the kickback thresholds in response to the indication. In some embodiments, the user interface 505 includes a separate slider bar to allow for adjustment of each kickback threshold individually. In some embodiments, the electronic processor 305 turns off the motor 330 in response to less kickback of the power tool 102 a when the sensitivity level of kickback control is set higher than when the sensitivity level of the kickback control is set lower. In other words, the electronic processor 305 may set the kickback thresholds to levels that are more easily satisfied (e.g., a lower rotation speed threshold or a higher trigger release sensitivity) when the sensitivity level of kickback control is set higher than when the sensitivity level of the kickback control is set lower.

In some embodiments, the sensitivity level sets a filtering method used by the electronic processor 305 when receiving data from the sensors. For example, when the sensitivity level of kickback control is set higher, the electronic processor 305 may lessen the effect of low-pass filtering of one or more sensor signals such that a spike in data may cause a kickback threshold to be reached that ceases driving of the motor 330. On the other hand, when the sensitivity level of kickback control is set lower, the electronic processor 305 may increase the effect of low-pass filtering of one or more sensor signals such that spikes in data are smoothed out to prevent the monitored power tool characteristic from being as likely to cross its respective kickback threshold. Stated another way, the electronic processor 305 may change a filtering rate of one or more sensors of the power tool 102 a to sacrifice accuracy for faster response time (when the sensitivity level of kickback control is set higher) or, alternatively, to sacrifice faster response time for accuracy (when the sensitivity level of kickback control is set lower). In some embodiments, the electronic processor 305 sets or adjusts a filtering method of data received from one or more sensors based on the speed of the motor 330.

In some embodiments, the electronic processor 305 establishes and/or adjusts at least one kickback sensitivity parameter based on the orientation of the power tool 102 a. FIG. 6 illustrates three example orientations of the power tool 102 a including a horizontal orientation 605, a vertically upward orientation 610, and a vertically downward orientation 615. The orientations may be described based on the rotational axis of the power tool (see, for example, rotational axis 211 of the power tool 102 a in FIGS. 2A and 2B) with respect to gravity. For example, when the rotation axis is at 90 degrees with respect to gravity, or within a predetermined range of 90 degrees with respect to gravity (e.g., within 5, 10, 15, 25, 35, or 45 degrees), the power tool may be considered in the horizontal orientation 605. Similarly, when the rotation axis is at 180 degrees with respect to gravity, or within a predetermined range of 180 degrees with respect to gravity (e.g., within 5, 10, 15, 25, 35, or 45 degrees), the power tool may be considered in the vertically upward orientation 610. Similarly, when the rotation axis is at 0 degrees (i.e., aligned) with respect to gravity, or within a predetermined range of 0 degrees with respect to gravity (e.g., within 5, 10, 15, 25, 35, or 45 degrees), the power tool may be considered in the vertically downward orientation 615. In other embodiments, another axis of the tool, such as a longitudinal axis of the tool housing or motor rotational axis, is used to determine the orientation of the power tool.

FIG. 7 illustrates a flowchart of an example method 700 of setting a kickback sensitivity parameter based on the orientation of the power tool 102 a. At block 705, the electronic processor 305 determines the orientation of the power tool 102 a based on information received from the orientation sensor 345. For example, the electronic processor 305 receives a signal from the orientation sensor 345 indicating the pitch angle α and compares the pitch angle to threshold ranges for each of the orientations 605, 610, and 615 shown in FIG. 6.

At block 710, the electronic processor sets a kickback sensitivity parameter based on the orientation of the power tool 102 a. For example, when the pitch of the power tool 102 a indicates that the power tool 102 a is facing upward (i.e., in the vertically upward orientation 610 of FIG. 6), the user may be drilling overhead and/or standing on a ladder or scaffolding such that they may have less control of the power tool 102 a. Accordingly, when the electronic processor 305 determines that the output driver 210 of the power tool 102 a is facing upward, the electronic processor 305 may set at least one kickback sensitivity parameter to be more sensitive such that driving of the motor 330 ceases when less kickback is sensed. For example, the electronic processor 305 may lower the rotation speed threshold in embodiments where the angular velocity of the power tool 102 a is being monitored. As another example, the electronic processor 305 may adjust a filtering method to reduce the effect of low-pass filtering such that a spike in data may cause a kickback threshold to be reached that ceases driving of the motor 330. As another example, the electronic processor 305 may set the trigger release sensitivity to exaggerate the quickness of a monitored trigger release by the user. For example, the electronic processor 305 may cease driving of the motor 330 in response to a slight trigger release by the user instead of slowing the speed of the motor 330 as may be done in other situations where the user may have more control of the power tool 102 a. As another example, when the orientation of the power tool 102 a indicates that the power tool 102 a is not being used at a ninety degree angle facing upward, downward, or horizontally (as shown in the three orientations of FIG. 6), the user may have less control of the power tool 102 a (e.g., when drilling at a forty-five degree angle). Accordingly, when the electronic processor 305 determines that the output driver 210 of the power tool 102 a is not at a ninety degree angle facing upward, downward, or horizontally, the electronic processor 305 may set at least one kickback sensitivity parameter to be more sensitive such that driving of the motor 330 ceases when less kickback is sensed. For example, the electronic processor 305 may lower the rotation speed threshold in embodiments where the angular velocity of the power tool 102 a is being monitored or may decrease the working operating angle range where the roll position of the power tool 102 a is being monitored.

FIGS. 8A and 8B are charts that illustrate the exaggerated quick release implemented by the electronic processor 305 according to some embodiments. Line 805 of FIG. 8A represents the actual position of the trigger 212 over a time period where the user releases the trigger 212. As shown in FIG. 8A, it takes the user approximately twenty-two milliseconds to completely release the trigger 212. However, in situations where the trigger release sensitivity is increased, the electronic processor 305 may cease driving of the motor 330 before the user has completely released the trigger 212. For example, as indicated by line 810 of FIG. 8A, the electronic processor 305 may recognize the change in position of the trigger 212 and cease driving of the motor after approximately five milliseconds. Such control may be useful in situations where release of the trigger 212 may indicate a loss of control of the power tool 102 a (e.g., when the power tool 102 a is in the vertically upward orientation 610 of FIG. 6).

FIG. 8B illustrates a situation where the trigger 212 is only released part way and is not completely released (i.e., a situation where the user intended to release the trigger 212 only part way to reduce the speed of the motor 330, for example). Similar to FIG. 8A, line 815 indicates the actual position of the trigger 212 over a time period where the user partially releases the trigger 212. As shown in FIG. 8B, similar to line 810 of FIG. 8A, line 820 indicates that the electronic processor 305 ceases driving of the motor 330 in approximately three milliseconds in response to a detected change in position of the trigger 212. However, after a few milliseconds, the electronic processor 305 determines that position of the trigger 212 has remained partially depressed (e.g., steady at approximately 45% actuation) and controls the switching network 325 to provide power to the motor 330 corresponding to the 45% actuation of the trigger 212. In some embodiments, the brief period where the electronic processor 305 ceased driving the motor 330 may occur so quickly that it is unrecognizable to the user. Thus, when the trigger release sensitivity of the power tool 102 a is set to implement an exaggerated quick release, the electronic processor 305 may be more sensitive to trigger releases while still maintaining normal operation of the power tool 102 a.

Returning to block 710 of FIG. 7, as another example of setting a kickback sensitivity parameter based on the orientation of the power tool 102 a, when the pitch of the power tool 102 a indicates that the power tool 102 a is facing downward (i.e., in the vertically downward orientation 615 of FIG. 6), the user may be in a more stable situation (e.g., located on the floor with both hands on the power tool 102 a). Accordingly, when the electronic processor 305 determines that the output driver 210 of the power tool 102 a is facing downward, the electronic processor 305 may set at least one kickback sensitivity parameter to be less sensitive such that driving of the motor 330 is not ceased when minor kickback is sensed. In such situations, the trigger release sensitivity may be set not to implement exaggerated quick release of the trigger 212.

As yet another example of setting a kickback sensitivity parameter based on the orientation of the power tool 102 a, when the roll of the power tool 102 a indicates that the power tool 102 a is sideways to the ground when the pitch of the power tool 102 a indicates that the power tool 102 a is facing horizontally (i.e., in the horizontal orientation 605 of FIG. 6), an arm of the user may be in such a position that it is not able to rotate much further if, for example, kickback occurs. Accordingly, when the electronic processor 305 determines that the power tool 102 a is sideways with respect to the ground (i.e., with the handle rotated to an angle of approximately 90 degrees with respect to gravity), the electronic processor 305 may set at least one kickback sensitivity parameter to be more sensitive such that driving of the motor 330 is ceased when less kickback is sensed or is ceased more quickly when a trigger release is detected.

As another example of setting a kickback sensitivity parameter based on the orientation of the power tool 102 a, the electronic processor 305 may set a filtering method used during the kickback control method based on the orientation of the power tool 102 a. For example, when signals are received from the movement sensor 350 that indicate movement in multiple directions, the electronic processor 305 may give more weight to movement in a certain direction depending on the orientation of the power tool 102 a (e.g., a direction in which the power tool 102 a is likely to move if kickback occurs).

Accordingly, in some embodiments, the electronic processor 305 sets at least one kickback sensitivity parameter based on the pitch of the power tool 102 a, the roll of the power tool 102 a, or both. In some embodiments, blocks 705 and 710 of FIG. 7 may be repeated such that the electronic processor 305 adjusts at least one kickback sensitivity parameter in a quasi-continuous manner as the orientation of the power tool 102 a changes. For example, for every ten degrees that the roll position increases with respect to the initial roll position, the electronic processor 305 may reduce the rotation speed threshold by ten percent to make the electronic processor 305 more sensitive to kickback. In other example embodiments, different degree and threshold adjustment amounts are used.

As indicated above, the electronic processor 305 may establish and/or adjust at least one kickback sensitivity parameter based on the orientation of the power tool 102 a. In other words, in some embodiments, the electronic processor 305 performs blocks 705 and 710 in response to the trigger 212 of the power tool 102 a being actuated. In such embodiments, the electronic processor 305 establishes a kickback sensitivity parameter (e.g., a rotation speed threshold, a counter threshold, a delay time between monitored angular velocity samples, a working operating angle range, and/or the like) based on an initial orientation of the power tool 102 a at a time that the trigger 212 is actuated. For example, each time the trigger 212 is actuated, the electronic processor 305 establishes at least one kickback sensitivity parameter based on an orientation of the power tool 102 a as determined using the orientation sensor 345. Additionally or alternatively, in some embodiments, the electronic processor 305 dynamically updates at least one kickback sensitivity parameter based on a changing orientation of the power tool 102 a during operation while the trigger 212 remains actuated. For example, the electronic processor 305 adjusts the rotation speed threshold based on a change in roll position of the power tool 102 a during an operation.

At block 715, the electronic processor 305 monitors a power tool characteristic associated with the kickback sensitivity parameter. For example, the power tool characteristic may be one of the power tool characteristics described above such as a motor current, an angular velocity of the power tool 102, a roll position of the power tool 102 a, and a position of the trigger 212. In some embodiments, at block 715, the electronic processor 305 monitors more than one power tool characteristic as explained previously, and each power tool characteristic is associated with a kickback sensitivity parameter. At block 720, the electronic processor 305 determines that a kickback of the power tool 102 a is occurring based on the monitored power tool characteristic reaching a kickback threshold. In some embodiments, at block 720, the electronic processor 305 determines that kickback of the power tool 102 a is occurring based on more than one power tool characteristic meeting its respective kickback threshold. For example, as explained above with respect to FIG. 4, kickback may be determined after both motor current has decreased below a low current threshold and angular velocity exceeds a rotation speed threshold. At block 725, the electronic processor controls the switching network 325 to cease driving of the motor 330 in response to the power tool characteristic reaching the kickback threshold. In some embodiments, blocks 715, 720, and 725 of FIG. 7 are similar to respective blocks 405, 410, and 415 of FIG. 4 and may include similar functionality as that described above with respect to FIG. 4.

In some embodiments, the electronic processor 305 establishes and/or adjusts at least one kickback sensitivity parameter based on a battery characteristic of a battery pack coupled to the power tool 102 a. FIG. 9 illustrates a flowchart of an example method 900 of setting a kickback sensitivity parameter based on a battery characteristic of a battery pack coupled to the power tool 102 a. At block 905, the electronic processor 305 determines a battery characteristic of the battery pack coupled to the power tool 102 a. In some embodiments, the electronic processor 305 may receive information from the battery pack (e.g., a battery pack identification, a battery pack type, and the like) and may determine a size or weight of the battery pack using a look-up table stored in the memory 310. In other embodiments, the electronic processor may receive information corresponding to the size or weight of the battery pack from the battery pack.

The remaining blocks of the method 900 (block 910, 915, 920, and 925) are similar to blocks 710, 715, 720, and 725 of FIG. 7. Accordingly, the functions, examples, and alternative embodiments described with respect to these blocks of FIG. 7 also apply to the corresponding blocks of FIG. 9. At block 910, the electronic processor 305 sets a kickback sensitivity parameter based on the battery characteristic of the battery pack. For example, the electronic processor 305 may adjust a rotation speed velocity threshold based on the weight of the battery pack because the weight of the battery pack may affect the rotational inertia of the power tool 102 a. At block 915, the electronic processor 305 monitors a power tool characteristic associated with the kickback sensitivity parameter. At block 920, the electronic processor 305 determines that a kickback of the power tool 102 a is occurring based on the monitored power tool characteristic reaching a kickback threshold. At block 925, the electronic processor 305 controls the switching network 325 to cease driving of the motor 330 in response to the power tool characteristic reaching the kickback threshold.

Similar to the embodiment described above with respect to FIG. 9, in some embodiments, the electronic processor 305 establishes and/or adjusts at least one kickback sensitivity parameter based on a characteristic of an attachment coupled to the power tool 102 a. Such establishment or adjustment may allow the electronic processor 305 to compensate for the effect that the presence of the attachment has on the moment of inertia of the power tool 102 a. In addition to a battery pack as described above with respect to FIG. 9, that attachment may be for example, a vacuum system, a side handle, or the like. In some embodiments, the power tool 102 a may include a sensor to detect the presence of the attachment or an electronic switch that is actuated when the attachment is mounted to the power tool 102 a. In other embodiments, the attachment may include at least one of an electronic processor and a communication device to communicate wirelessly or via a wired connection with the power tool 102 a. For example, the attachment may communicate characteristics of the attachment such as an attachment type, an attachment location/position, an attachment weight, and the like to the power tool 102 a. In some embodiments, a mode of the power tool 102 a may indicate that an attachment is coupled to the power tool 102 a. For example, when the power tool 102 a is placed in a vacuum mode, the electronic processor 305 determines that a vacuum system is mounted to the power tool 102 a. In some embodiments, the electronic processor 305 may determine the presence of an attachment based on information from one or more of the orientation sensor 345 and the movement sensor 350 during minor use or while the power tool 102 a is resting. For example, the electronic processor 305 may compare information received from the sensors 345 and 350 with information in a look-up table stored in the memory 310 to determine whether the information from the sensors 345 and 350 indicates that an attachment is mounted on the power tool 102 a. Based on at least one of detection of the attachment and receipt of a characteristic of the attachment, the electronic processor 305 may establish and/or adjust at least one kickback sensitivity parameter.

In some embodiments, the electronic processor 305 adjusts at least one kickback sensitivity parameter based on a kickback event such as a suspected kickback event, a near kickback event, or a detected kickback event. FIG. 10 illustrates a flowchart of an example method 1000 of adjusting a kickback sensitivity parameter based on a kickback event of the power tool 102 a. At block 1005, the electronic processor 305 sets a kickback sensitivity parameter (e.g., a kickback threshold or a filtering method as described above). In some embodiments, the electronic processor 305 sets one or more kickback sensitivity parameters based on the orientation of the power tool 102 as described above.

At block 1010, the electronic processor 305 monitors a power tool characteristic associated with the kickback sensitivity parameter (e.g., at least one of a motor current, an angular velocity of the power tool 102, a trigger position and the like as explained previously). At block 1015, the electronic processor 305 determines that a kickback event is occurring based on the monitored power tool characteristic or a second monitored power tool characteristic. As noted above, the kickback event may be a suspected kickback event, a near kickback event, or a detected kickback event as explained in greater detail below.

In some embodiments, a suspected kickback event is detected when the power tool 102 a is initially operated. For example, when the electronic processor 305 determines that the output driver 210 of the power tool 102 a moves slower than expected upon start-up, the electronic processor 305 may determine that a kickback event is more likely (e.g., because the bit of the power tool 102 a does not have the rotational momentum to overcome small bindings or shear in the workpiece). In some embodiments, a suspected kickback event is detected during operation of the power tool 102 a based on a change in roll position of the power tool 102 a during operation, which may be referred to as tool walk (see FIG. 12). In some situations, tool walk may indicate a slow loss of control of the power tool 102 a by the user. For example, the electronic processor 305 may determine an initial roll position of the power tool when the power tool 102 a is initially operated (see block 1205 of FIG. 12). The electronic processor 305 may then monitor the roll position of the power tool 102 a during operation and compare the current roll position to the initial roll position (see blocks 1210 and 1215 of FIG. 12). When the current roll position of the power tool 102 a has changed a predetermined amount from the initial roll position (i.e., when tool walk has occurred), the electronic processor 305 may determine that a suspected kickback event is occurring.

In some embodiments, a near kickback event is detected when the movement sensor 350 indicates that the housing of the power tool 102 a has rotated in such a manner that the monitored angular velocity is within a predetermined amount from the rotation speed threshold (i.e., a second rotation speed threshold that is lower than the rotation speed threshold that indicates kickback of the power tool 102 a). In other words, a near kickback event may occur when the output driver 210 of the power tool 102 a briefly binds in a workpiece but quickly becomes unbound.

In some embodiments, a detected kickback event occurs when the output of the power tool 102 a becomes bound in a workpiece such that the output remains stationary, and the electronic processor 305 controls the switching network 325 to cease driving of the motor 330 (see, for example, the method 400 of FIG. 4).

At block 1020, the electronic processor 305 adjusts the kickback sensitivity parameter based on the kickback event. For example, based on a suspected kickback event (i.e., a detected change in roll position), the electronic processor 305 may decrease the rotation speed threshold and/or increase the trigger release sensitivity to make the power tool 102 a more sensitive to kickback (i.e., cease driving of the motor 330 more quickly) because the user may not have full control of the power tool 102 a.

As another example, when a near kickback event is detected, the electronic processor 305 adjusts at least one kickback sensitivity parameter to be less sensitive so as not to falsely detect a kickback (e.g., when the user may have more control of the power tool 102 a). In other situations, when a near kickback event is detected, the electronic processor 305 adjusts at least one kickback sensitivity parameter to be more sensitive (e.g., when the user may have less control of the power tool 102 a). Accordingly, the adjustment of the kickback sensitivity parameter by the electronic processor 305 (at block 1020) may also take into account the orientation of the power tool 102 a in that the user may be determined to have more control when the power tool 102 a is at the horizontal orientation 605 or vertically downward orientation 615 than when in the vertically upward orientation 610.

As another example, when a near kickback event is detected (e.g., based on angular velocity of the housing of the power tool 102 a exceeding a working operating angle range adjustment threshold), the electronic processor 305 adjusts a working operating angle range as indicated in the method 1600 of FIG. 16 as explained above. In other words, the method 1600 of FIG. 16 is an example of a specific implementation of the method 1000 of FIG. 10 where the electronic processor 305 adjusts a working operating angle range (i.e., a kickback sensitivity parameter) based on monitored angular velocity of the housing of the power tool 102 a exceeding a predetermined threshold (i.e., detection of a near kickback event). As explained in the above example with respect to FIG. 16, the electronic processor 305 may decrease the working operating angle range from plus-or-minus fifteen degrees from the initial roll position of the power tool 102 a to plus-or-minus ten degrees from the initial roll position of the power tool 102. In this example, the electronic processor 305 adjusts the kickback sensitivity parameter (i.e., the working operating angle range) to be more sensitive to kickback (i.e., cease driving of the motor 330 more quickly) because the angular velocity measurement may indicate that the user does not have full control of the power tool 102 a. With respect to this example of decreasing the working operating angle range from plus-or-minus fifteen degrees from the initial roll position of the power tool 102 a to plus-or-minus ten degrees from the initial roll position of the power tool 102, the values of the angle range are merely examples and other angle ranges may be used. Additionally, with respect to other example values of and relationships between speeds, angles, thresholds, ranges, and the like throughout this description, these values and relationships are merely examples and other values and relationships are possible in other situations and embodiments.

In some embodiments, the electronic processor 305 may keep track of the number of kickback events that have occurred, for example, using the memory 310. In some embodiments, the electronic processor 305 may adjust at least one kickback sensitivity parameter based on a predetermined number of kickback events occurring. For example, the electronic processor 305 may decrease the sensitivity of a kickback threshold after three detected kickback events to prevent the motor 330 from being shut down so often during use. Further, in such embodiments, the electronic processor 305 may adjust at least one kickback sensitivity parameter based on a predetermined number of kickback events occurring within a predetermined period of time (e.g., thirty seconds). For example, the electronic processor 305 may decrease the sensitivity of a kickback threshold when three detected kickback events occur within thirty seconds.

In some embodiments, the kickback events may be detected during a single, continuous operation of the power tool 102 a (i.e., during a single trigger actuation before the trigger 212 is released). However, in other embodiments, these kickback events may be detected over multiple trigger actuations. In both embodiments, the electronic processor 305 may store the number of kickback events in the memory 310 and may adjust at least one kickback sensitivity parameter based on a predetermined number of occurrences of one or more of these events. For example, when three near kickback events are detected, the electronic processor 305 may adjust the rotation speed threshold of the power tool 102 a.

In some embodiments, the electronic processor 305 may store kickback sensitivity parameters used during previous operating modes of the power tool 102 a (i.e., a history of modes selected by the user and corresponding history of kickback sensitivity parameters used during the modes). When the power tool 102 a switches modes, the electronic processor 305 may adjust at least one kickback sensitivity parameter based on a selected mode of the power tool 102 a to, for example, correspond to a kickback sensitivity parameter that was previously used during the selected mode.

In some embodiments, blocks 1010, 1015, and 1020 of the method 1000 are repeated such that one or more kickback sensitivity parameters are adjusted more than once as kickback events are detected by the electronic processor 305.

The remaining blocks of the method 1000 (block 1025 and 1030) are similar to blocks 720 and 725 of FIG. 7. Accordingly, the functions, examples, and alternative embodiments described with respect to these blocks of FIG. 7 also apply to the corresponding blocks of FIG. 10. At block 1025, the electronic processor 305 determines that a kickback of the power tool is occurring based the monitored power tool characteristic reaching a kickback threshold. At block 1030, the electronic processor 305 controls the switching network to cease driving of the motor 330 in response to the monitored power tool characteristic reaching the kickback threshold.

In some embodiments, the electronic processor 305 is configured to establish or adjust at least one kickback sensitivity parameter during a start-up of the power tool 102 a. For example, the power tool 102 a may be more likely to experience kickback when the motor 330 is being started from a standstill than when the motor 330 is already moving and has some rotational momentum. In such situations when the electronic processor 305 determines that the motor 330 is starting from a standstill, the electronic processor 305 may set at least one kickback sensitivity parameter to be less sensitive to allow the power tool 102 a to power through minor kickback caused by small bindings or shear in the workpiece (e.g., when the orientation of the power tool 102 a indicates that the power tool 102 a is in a well-controlled position). Alternatively, the electronic processor 305 may set at least one kickback sensitivity parameter to be more sensitive to attempt to cease providing power to the motor 330 when even minor kickback is detected (e.g., when the orientation of the power tool 102 a indicates that the power tool 102 a is in a less-controlled position). In some embodiments, after the motor 330 has reached a desired operating speed, the electronic processor 305 may further adjust at least one kickback sensitivity parameter. In some embodiments, the electronic processor 305 may be configured to adjust at least one kickback sensitivity parameter in a quasi-continuous manner as the speed of the motor 330 changes. For example, as the speed of the motor 330 increases from a standstill to a desired operating speed, the electronic processor 305 may gradually increase or decrease at least one kickback sensitivity parameter.

FIG. 11 illustrates three example roll positions of the power tool 102 a. Position 1105 represents the initial position of the power tool 102 a when the trigger 212 is pulled to begin operation on a workpiece. In this example situation, the power tool 102 a is being used in a horizontal position and is vertically upright with a roll position of approximately zero degrees with respect to gravity. At position 1110, the power tool 102 a has rotated due to minor binding with the workpiece (i.e., tool walk has occurred). At position 1115, the output of the power tool 102 a has become bound in the workpiece and a kickback has occurred.

In some embodiments, the electronic processor 305 reduces the power supplied to the motor 330 when tool walk is detected. Such power reduction may indicate to the user that the roll position of the power tool 102 a has changed during operation (position 1110 of FIG. 11). In some embodiments, if the user corrects the roll position to, for example, correspond with the initial roll position of the power tool 102 a (position 1105 of FIG. 11), the electronic processor 305 may allow full power to be supplied to the motor 330 in accordance with the position of the trigger 212.

FIG. 12 illustrates a flowchart of an example method 1200 of reducing power supplied to the motor 330 based on detected tool walk of the power tool 102 a. At block 1205, the electronic processor 305 determines an initial roll position of the power tool 102 a (e.g., with respect to gravity) at a time that the trigger 212 is initially actuated based on information received from the orientation sensor 345 (e.g., position 1105 of FIG. 11). The electronic processor 305 may store the information related to the initial roll position in the memory 310.

At block 1210, the electronic processor 305 monitors the roll position of the power tool 102 a. At block 1215, the electronic processor 305 determines whether the roll position of the power tool 102 a has changed such that a difference between the roll position and the initial roll position exceeds a roll position threshold. In some embodiments, the roll position threshold is a predetermined number of degrees from the initial roll position. Additionally or alternatively, the roll position threshold may be a predetermined number of degrees with respect to a desired operation position (e.g., during horizontal operation, a tool walk that results in a tool position of 70 degrees in either direction with respect to gravity). When the electronic processor 305 determines that the difference between the roll position and the initial roll position has not reached the roll position threshold, the method 1200 proceeds back to block 1210 to continue monitoring the roll position of the power tool 102 a.

When the electronic processor 305 determines that the difference between the roll position and the initial roll position exceeds the roll position threshold (e.g., position 1110 of FIG. 11), at block 1220, the electronic processor 305 controls the switching network 325 to reduce power supplied to the motor 330 in response to determining that the difference between the roll position and the initial roll position exceeds the roll position threshold. In some embodiments, the roll position threshold is not a single, discrete threshold. Rather, the electronic processor 305 may adjust the power supplied to the motor 330 in a quasi-continuous manner based on the roll position of the power tool 102 a as the roll position changes. For example, for every ten degrees that the roll position increases with respect to the initial roll position, the electronic processor 305 may reduce the speed of the motor 330 by twenty percent.

As mentioned above, the reduction in power that occurs at block 1220 may notify the user that tool walk has occurred. In some embodiments, if the user corrects the roll position to, for example, correspond with the initial roll position of the power tool 102 a, the electronic processor 305 may allow full power to be supplied to the motor 330 in accordance with the position of the trigger 212. In such embodiments, the electronic processor 305 may gradually increase power supplied to the motor 330 to full power (e.g., using a time delay). Similar to the reduction of power described above, the restoration of power as the roll position of the power tool 102 a is corrected may be provided in a quasi-continuous manner. Additionally, in some embodiments, the electronic processor 305 may require the roll position of the power tool 102 a to correspond to a desired roll position (e.g., during horizontal operation, a vertically upright tool with a tool position of approximately zero degrees with respect to gravity) to re-allow full power to be supplied to the motor 330 rather than restoring full power to the motor 330 when the power tool is re-oriented to an initial roll position. In some embodiments, the electronic processor 305 may restore full or partial power to the motor 330 in response to the roll position of the power tool 102 a being corrected to be within a predetermined amount from the initial roll position or from a desired roll position. In other words, the electronic processor 305 may restore full or partial power to the motor 330 when the roll position of the power tool 102 a has been partially, but not completely, corrected.

In some embodiments, the electronic processor 305 executes the method 1200 in conjunction with one of the previously described methods such that the electronic processor 305 may detect a kickback of the power tool 102 a and cease driving of the motor 330 during execution of the method 1200. Additionally, the electronic processor 305 may adjust a kickback sensitivity parameter based on detected tool walk as explained in detail above with respect to FIG. 10.

In another embodiment of FIG. 12, at block 1215, the electronic processor 305 may proceed to block 1220 to reduce power supplied to the motor 330 in response to the roll position of the power tool 102 a exceeding a predetermined roll position threshold. In such embodiments, the electronic processor 305 may not determine the difference between the roll position and an initial roll position. Rather, the electronic processor 305 reduces the power supplied to the motor 330 based on merely the roll position of the power tool 102. For example, the electronic processor 305 may reduce the power supplied to the motor 330 in response to determining that the roll position of the power tool 102 a is horizontal with respect to the ground (i.e., with the handle rotated to an angle of approximately 90 degrees with respect to gravity).

When kickback of the power tool 102 a occurs, the power tool 102 a may remain bound in the workpiece at an awkward angle such that it is difficult for the user to grasp or operate the power tool 102 a. Often, a user will attempt to unbind the power tool 102 a by applying force to the housing of the power tool 102 a to manually rotate the housing and the output driver 210 of the power tool 102 a. However, the user may not be able to apply enough force to unbind the power tool 102 a, and if the power tool 102 a becomes unbound, it may move/swing quickly due to the force applied by the user. In other instances, to attempt to unbind the power tool 102 a, a user may switch the rotational direction of the motor 330 of the power tool 102 a and operate the power tool 102 a in a reverse mode. However, this also may cause the power tool 102 a to move/swing quickly after the power tool 102 a becomes unbound.

FIG. 13 illustrates a flowchart of a method 1300 of controlling the power tool 102 a after the power tool 102 a becomes bound in a workpiece. The method 1300 allows the housing of the power tool 102 a to return to a desired position such that the user can attempt to unbind the power tool 102 a. In some situations, the power tool 102 a may become unbound during execution of the method 1300. In some embodiments, the method 1300 allows the housing of the power tool 102 a to move slowly in the reverse direction to prevent the quick movements/swings mentioned above with respect to other methods of unbinding of the power tool 102 a.

At block 1305, the electronic processor 305 controls the switching network 325 such that the motor 330 rotates in a forward direction at a first speed when the trigger 212 is actuated. At block 1310, the electronic processor 305 determines whether the power tool 102 a has become bound in a workpiece. For example, when the electronic processor 305 ceases driving the motor 330 in response to a monitored power tool characteristic reaching a kickback threshold, the electronic processor 305 may determine that the power tool 102 has become bound in a workpiece. When the power tool 102 a has not become bound in a workpiece, the method 1300 remains at block 1310 and the electronic processor 305 continues to control the switching network 325 such that the motor 330 rotates in a forward direction at the first speed in accordance with actuation of the trigger 212.

When the electronic processor 305 has determined that the power tool 102 a has become bound in the workpiece (at block 1310), at block 1315, the electronic processor 305 switches the power tool 102 a to a reverse mode. In some embodiments, this switch to a reverse mode may be caused by the user actuating the forward/reverse selector 219. In other embodiments, the electronic processor 305 switches the power tool 102 a to reverse mode without requiring the user to actuate the forward/reverse selector 219. In other words, the electronic processor 305 switches the power tool 102 a to reverse mode in response to determining that the power tool 102 a has become bound in a workpiece.

At block 1320, the electronic processor 305 controls the switching network 325 such that the motor 330 rotates in a reverse direction at a second speed that is less than the first speed in accordance with actuation of the trigger 212 (e.g., at a speed that is less than a predetermined reversal speed). For example, the electronic processor 305 may control the motor 330 in this manner in response to the trigger 212 being actuated after the power tool 102 a has become bound in a workpiece. In other words, the electronic processor 305 may not execute block 1320 until the user actuates the trigger 212. Because the output driver 210 is bound in the workpiece and unable to rotate, the slow reverse rotation of the motor 330 allows the housing of power tool 102 a to return to a desired position without swinging/moving the power tool 102 a too quickly. In some embodiments, the electronic processor 305 sets the second speed as a single speed of the motor 330 regardless of the distance that the trigger 212 is actuated. In other embodiments, the electronic processor 305 sets the second speed as a maximum speed of the motor 330 and allows the user to operate the motor 330 at slower speeds by actuating the trigger 212 less than the maximum distance. In some embodiments, the second speed is a predetermined percent reduction of the first speed. In some embodiments, the second speed of the motor 330 may start near the first speed and gradually ramp downward until it reaches a predetermined level.

When the electronic processor 305 determines that the trigger 212 is no longer actuated, the electronic processor 305 controls the switching network 325 to cease driving the motor 330. In embodiments where the switch to reverse mode (at block 1315) was caused by the user actuating the forward/reverse selector 219, the electronic processor 305 keeps the power tool 102 a in reverse mode but may not limit the speed of the motor 330 the next time the trigger is actuated. In other words, the next time the trigger 212 is actuated, the power tool 102 a may operate at full reverse speed in accordance with the actuation of the trigger 212. On the other hand, in embodiments where the electronic processor 305 switched the power tool 102 a to reverse mode without requiring the user to actuate the forward/reverse selector 219 (at block 1315), the electronic processor 305 may switch the power tool 102 a back to forward mode. In such embodiments, the next time the trigger 212 is actuated, the power tool 102 a may operate at full forward speed in accordance with the actuation of the trigger 212. In one or both of these embodiments, the electronic processor 305 may control the speed of the motor 330 to gradually increase speed to allow the user to realize the direction and speed in which the motor 330 is set to operate.

FIG. 14 illustrates a flowchart of another method of controlling the power tool 102 a after the power tool 102 a become bound in a workpiece. Blocks 1405, 1410, and 1415 are similar to blocks 1305, 1310, and 1315 of the method 1300 of FIG. 13 explained above such that the electronic processor 305 switches the power tool 102 a to a reverse mode when the power tool 102 a has become bound in a workpiece.

At block 1420, the electronic processor 305 controls the switching network 325 such that the motor 330 rotates in a reverse direction. In some embodiments, the electronic processor 305 controls the motor 330 to rotate in the reverse direction without requiring any user action (i.e., auto-reverse). For example, the electronic processor 305 may control the motor 330 to rotate in the reverse direction in response to determining that the power tool 102 a has become bound in the workpiece. In some embodiments, the electronic processor 305 may control the motor 330 to rotate in the reverse direction after a predetermined time has elapsed since the electronic processor 305 has determined that the power tool 102 a has become bound in the workpiece (e.g., three seconds, one second, 200 milliseconds, and the like). In some embodiments, the electronic processor 305 controls the motor 330 to rotate at a predetermined speed that is similar to the second speed described above with respect to block 1320 of FIG. 13.

In other embodiments, the electronic processor 305 controls the motor 330 to rotate in the reverse direction in response to detecting that the user applied a force to the power tool 102 a in the reverse direction (i.e., user-assist reverse). For example, when the power tool 102 a becomes bound in the workpiece, the electronic processor 305 determines the rotational position of the motor 330 and the position of the power tool 102 a about the rotational axis 211. In some embodiments, the power tool 102 a has a clutch that allows for the housing of the power tool 102 a to be slightly manually rotated (e.g., 10-15 degrees) with respect to the output driver 210 when the output driver 210 is bound in the workpiece. Such a characteristic is referred to as “play in the clutch” and may be monitored by the electronic processor 305 using, for example, the orientation sensor 345 and the Hall sensors 335. For example, based on values received from these sensors the electronic processor may determine a difference between a position of the shaft of the motor 330 and a position of the housing of the power tool 102 a. By continuing to monitor the rotational position of the motor 330 and the position of the power tool 102 a with respect to the rotational axis 211 after the power tool 102 a has become bound in the workpiece, the electronic processor 305 is able to determine whether a force is being applied to the power tool 102 a by the user. The force may be recognized by the electronic processor 305 when the position of the housing of the power tool 102 a with respect to the rotational axis 211 changes relative to the rotational position of the motor 330 above a certain threshold (e.g., 10 or 15 degrees), which may be realized by manual rotation of the housing due to the play in the clutch. Accordingly, in some embodiments, when the electronic processor 305 determines that a force is being applied to the power tool 102 a in a reverse direction, the electronic processor 305 controls the motor 330 to rotate in the reverse direction. Such reverse rotation of the motor 330 may allow the user to rotate the housing of the power tool 102 a to return to a desired position while the output driver 210 remains bound in the workpiece and unable to rotate. In some embodiments, the speed at which the motor 330 rotates in the reverse direction depends on the amount in which the power tool 102 a is rotated within the play in the clutch.

While the motor 330 of the power tool 102 a is rotating in the reverse direction, at block 1425, the electronic processor 305 determines whether the housing of the power tool 102 a has rotated to a desired position. For example, the electronic processor 305 may compare the roll position of the power tool 102 a to the initial roll position as described above. As another example, the electronic processor 305 may compare the roll position of the power tool 102 a to a preferred roll position (e.g., during horizontal operation, a vertically upright tool with a tool position of approximately zero degrees with respect to gravity). In some embodiments, the electronic processor 305 may determine that a desired position has been reached when the housing of the power tool 102 a has rotated a predetermined number of degrees from a bound roll position. In other words, the electronic processor 305 may compare a bound roll position of the power tool 102 a at a time immediately after the power tool 102 a became bound in the workpiece to a current roll position. In some embodiments, a desired position may be indicated by the electronic processor 305 determining that the user is applying a force to the power tool 102 a to stop the reverse rotation of the motor 330. For example, the electronic processor 305 may determine that the motor current has increased above a predetermined threshold (e.g., to attempt to overcome the force provided by the user to stop the power tool 102 a from rotating in the reverse direction). Along similar lines, in some embodiments, a desired position may be indicated by the electronic processor 305 determining that the position of the housing of the power tool 102 a with respect to the rotational axis 211 changes relative to the rotational position of the motor 330 above a certain threshold (e.g., 10 or 15 degrees). This relative change may be realized by manual rotation of the housing, due to the play in the clutch, in a direction opposite the rotation of the housing being caused by the motor 330. In some embodiments, the electronic processor 305 determines that a desired position has been reached when the electronic processor 305 determines that the output driver 210 is no longer bound in the workpiece. For example, a drop in motor current (e.g., below a threshold) may indicate that the output driver 210 is no longer bound in the workpiece. In some embodiments, the electronic processor 305 may determine that a desired position has been reached when the trigger 212 is actuated or when some other switch/button on the power tool 102 a is actuated (i.e., the user attempts to use the power tool 102 a again because the housing of the power tool 102 a has rotated to a desired position of the user).

When the housing of the power tool 102 a has not rotated to a desired position, the method 1400 proceeds back to block 1420 to continue controlling the motor 330 to slowly rotate in the reverse direction. When the housing of the power tool 102 a has rotated to a desired position, at block 1430, the electronic processor 305 controls the switching network 325 to cease driving of the motor 330 in response to determining that the housing of the power tool 102 a has rotated to a desired position.

Similar to the description of the method 1400 above, in embodiments where the switch to reverse mode (at block 1415) was caused by the user actuating the forward/reverse selector 219, the electronic processor 305 keeps the power tool 102 a in reverse mode but may not limit the speed of the motor 330 the next time the trigger is actuated. In other words, the next time the trigger 212 is actuated, the power tool 102 a may operate at full reverse speed in accordance with the actuation of the trigger 212. On the other hand, in embodiments where the electronic processor 305 switched the power tool 102 a to reverse mode without requiring the user to actuate the forward/reverse selector 219 (at block 1115), the electronic processor 305 may switch the power tool 102 a back to forward mode. In such embodiments, the next time the trigger 212 is actuated, the power tool 102 a may operate at full forward speed in accordance with the actuation of the trigger 212. In one or both of these embodiments, the electronic processor 305 may control the speed of the motor 330 to gradually increase speed to allow the user to realize the direction and speed in which the motor 330 is set to operate.

In some embodiments, any of the previously-explained kickback control features and methods may be optionally executed by the electronic processor 305 based on instructions received from the external device 108. For example, the graphical user interface 505 may include additional toggle switches to allow the user to select which kickback control features and methods should be implemented as well as the kickback sensitivity parameters of each kickback control feature or method. For example, the graphical user interface 505 may receive an indication of whether to enable adjustment of kickback sensitivity parameters based on at least one of orientation of the power tool 102 a (FIG. 7), a battery characteristic of the battery pack coupled to the power tool 102 a (FIG. 9), and kickback events (FIG. 10). The graphical user interface 505 may also receive an indication from the user of whether to enable power reduction based on tool walk (FIG. 12) or whether to enable one of the reverse rotation methods of FIGS. 13 and 14 when the power tool 102 a becomes bound in a workpiece.

Thus, the invention provides, among other things, a power tool with various kickback control features. 

We claim:
 1. A power tool comprising: a housing having a motor housing portion, a handle portion, and a battery interface; a brushless direct current (DC) motor within the motor housing portion and having a rotor and a stator, wherein the rotor is configured to rotationally drive a motor shaft about a rotational axis; a switching network electrically coupled to the brushless DC motor; a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis; an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool, wherein, to implement the kickback control, the electronic processor is configured to: control the switching network to drive the brushless DC motor, receive measurements of the angular velocity of the housing of the power tool from the movement sensor, determine that a plurality of the measurements of the angular velocity of the housing of the power tool exceed a rotation speed threshold, and control the switching network to cease driving of the brushless DC motor in response to determining that the plurality of the measurements of the angular velocity exceed the rotation speed threshold.
 2. The power tool of claim 1, wherein the electronic processor is configured to: receive the measurements of the angular velocity of the housing of the power tool from the movement sensor at predetermined time intervals; and determine that the plurality of measurements of the angular velocity of the housing of the power tool within a predetermined time period exceed the rotation speed threshold.
 3. The power tool of claim 1, wherein the electronic processor is configured to: determine whether each measurement of the angular velocity exceeds the rotation speed threshold; increment a counter for each measurement of the angular velocity that is determined to exceed the rotation speed threshold; determine that the counter exceeds a counter threshold; and control the switching network to cease driving of the brushless DC motor in response to determining that the counter exceeds the counter threshold.
 4. The power tool of claim 3, wherein the electronic processor is configured to: determine that the counter is greater than zero; and decrement the counter for each measurement of the angular velocity that is determined to be below the rotation speed threshold.
 5. The power tool of claim 3, further comprising a transceiver electrically coupled to the electronic processor and configured to communicate with an external device; wherein the electronic processor is configured to receive, via the transceiver, at least one of the group consisting of the rotation speed threshold and the counter threshold from the external device, wherein a value of the at least one of the group consisting of the rotation speed threshold and the counter threshold is selected via a user input on the external device.
 6. The power tool of claim 1, further comprising a transceiver electrically coupled to the electronic processor and configured to communicate with an external device; wherein the electronic processor is configured to receive, via the transceiver, an instruction indicating whether to implement the kickback control of the power tool, wherein the instruction is generated based on a user input on the external device.
 7. The power tool of claim 1, further comprising an orientation sensor configured to measure an orientation of the power tool with respect to gravity; wherein the electronic processor is coupled to the orientation sensor and configured to determine an initial orientation of the power tool based on information received from the orientation sensor, determine the rotation speed threshold based on the initial orientation of the power tool, determine a second orientation of the power tool based on information received from the orientation sensor that indicates that the orientation of the power tool has changed from the initial orientation, and determine an adjusted value for the rotation speed threshold based on the second orientation of the power tool.
 8. The power tool of claim 1, further comprising a trigger configured to be actuated to cause the power tool to drive the brushless DC motor; wherein the electronic processor is further configured to determine a position of the trigger based on an amount of actuation of the trigger, control the switching network to drive the brushless DC motor in proportion with the position of the trigger, determine that the position of the trigger has changed and indicates that the trigger is being released but remains partially actuated, and in response to determining that the position of the trigger has changed and indicates that the trigger is being released but remains partially actuated, implement an exaggerated release of the trigger by controlling the switching network to cease driving of the brushless DC motor.
 9. A power tool comprising: a housing having a motor housing portion, a handle portion, and a battery interface; a brushless direct current (DC) motor within the motor housing portion and having a rotor and a stator, wherein the rotor is configured to rotationally drive a motor shaft about a rotational axis; a switching network electrically coupled to the brushless DC motor; a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis; an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool, wherein, to implement the kickback control, the electronic processor is configured to: control the switching network to drive the brushless DC motor, receive measurements of the angular velocity of the housing of the power tool from the movement sensor, and control the switching network to cease driving of the brushless DC motor in response to determining that a measurement of the measurements of the angular velocity exceeds a rotation speed threshold and determining that a power tool characteristic exceeds a kickback threshold.
 10. The power tool of claim 9, wherein the power tool characteristic is a second measurement of the measurements of the angular velocity of the housing of the power tool from the movement sensor and the kickback threshold is the rotation speed threshold.
 11. The power tool of claim 9, wherein the power tool characteristic is at least one of the group consisting of a motor current, a roll position of the power tool, and a position of a trigger of the power tool, and wherein at least one selected from the group of the rotation speed threshold and the kickback threshold is based on a direction of rotation of the brushless DC motor.
 12. The power tool of claim 9, wherein the electronic processor is configured to: receive the measurements of the angular velocity of the housing of the power tool from the movement sensor at predetermined time intervals; and determine that the measurement of the angular velocity of the housing of the power tool exceeds the rotation speed threshold within a predetermined time period of the power tool characteristic exceeding the kickback threshold.
 13. The power tool of claim 9, further comprising a transceiver electrically coupled to the electronic processor and configured to communicate with an external device; wherein the electronic processor is configured to receive, via the transceiver, at least one of the group consisting of the rotation speed threshold and the kickback threshold from the external device, wherein a value of the at least one of the group consisting of the rotation speed threshold and the kickback threshold is selected via a user input on the external device.
 14. The power tool of claim 9, further comprising a transceiver electrically coupled to the electronic processor and configured to communicate with an external device; wherein the electronic processor is configured to receive, via the transceiver, an instruction indicating whether to implement the kickback control of the power tool, wherein the instruction is generated based on a user input on the external device.
 15. The power tool of claim 9, further comprising an orientation sensor configured to measure an orientation of the power tool with respect to gravity; wherein the electronic processor is coupled to the orientation sensor and configured to determine an initial orientation of the power tool based on information received from the orientation sensor, determine at least one of the rotation speed threshold and the kickback threshold based on the initial orientation of the power tool, determine a second orientation of the power tool based on information received from the orientation sensor that indicates that the orientation of the power tool has changed from the initial orientation, and determine an adjusted value for the at least one of the rotation speed threshold and the kickback threshold based on the second orientation of the power tool.
 16. The power tool of claim 9, further comprising a trigger configured to be actuated to cause the power tool to drive the brushless DC motor, wherein the power tool characteristic is a position of the trigger and the kickback threshold corresponds to a speed of release of the trigger; wherein the electronic processor is further configured to determine the position of the trigger based on an amount of actuation of the trigger, control the switching network to drive the brushless DC motor in proportion with the position of the trigger, determine that the position of the trigger has changed and that the trigger is being released at a speed that exceeds the kickback threshold but that the trigger remains partially actuated, and in response to determining that the position of the trigger has changed and that the trigger is being released at a speed that exceeds the kickback threshold but that the trigger remains partially actuated, implement an exaggerated release of the trigger by controlling the switching network to cease driving of the brushless DC motor.
 17. The power tool of claim 16, wherein the electronic processor is configured to: determine that the trigger has remained partially actuated for a predetermined period of time after the electronic processor has controlled the switching network to cease driving of the motor; and in response to determining that the trigger has remained partially actuated for the predetermined period of time after the electronic processor has controlled the switching network to cease driving of the motor, control the switching network to drive the brushless DC motor in proportion with the partially actuated position of the trigger.
 18. A power tool comprising: a housing having a motor housing portion, a handle portion, and a battery interface; a brushless direct current (DC) motor within the motor housing portion and having a rotor and a stator, wherein the rotor is configured to rotationally drive a motor shaft about a rotational axis; a switching network electrically coupled to the brushless DC motor; a movement sensor configured to measure an angular velocity of the housing of the power tool about the rotational axis; an electronic processor coupled to the switching network and the movement sensor and configured to implement kickback control of the power tool, wherein, to implement the kickback control, the electronic processor is configured to: control the switching network to drive the brushless DC motor, determine a working operating angle range of the power tool, receive measurements of the angular velocity of the housing of the power tool from the movement sensor, determine that the angular velocity of the housing of the power tool exceeds a working operating angle range adjustment threshold, in response to determining that the angular velocity exceeds the working operating angle range adjustment threshold, adjust the working operating angle range based on the angular velocity, determine a roll position of the power tool, determine that the roll position is not within an adjusted working operating angle range, and control the switching network to cease driving of the brushless DC motor in response to determining that the roll position is not within the adjusted working operating angle range.
 19. The power tool of claim 18, further comprising an orientation sensor configured to measure an orientation of the power tool with respect to gravity; wherein the electronic processor is coupled to the orientation sensor and configured to determine an initial orientation of the power tool based on information received from the orientation sensor, determine the working operating angle range of the power tool based on the initial orientation of the power tool, and determine the roll position of the power tool based on information received from the orientation sensor.
 20. The power tool of claim 18, further comprising a transceiver electrically coupled to the electronic processor and configured to communicate with an external device; wherein the electronic processor is configured to receive, via the transceiver, an instruction indicating whether to implement the kickback control of the power tool, wherein the instruction is generated based on a user input on the external device. 